package com.cleaningcloud.erp.service;

import com.cleaningcloud.erp.api.domain.ErpCommodity;
import com.cleaningcloud.erp.domain.dto.ErpCommodityDto;
import com.cleaningcloud.erp.domain.vo.ErpCommodityVo;

import java.util.List;

/**
 * 商品管理Service接口
 *
 * @author cleaningcloud
 * @date 2024-09-27
 */
public interface IErpCommodityService {
    /**
     * 查询商品管理
     *
     * @param commodityId 商品管理主键
     * @return 商品管理
     */
    ErpCommodityVo selectErpCommodityByCommodityId(Long commodityId);

    /**
     * 查询商品管理列表
     *
     * @param erpCommodity 商品管理
     * @return 商品管理集合
     */
    List<ErpCommodityVo> selectErpCommodityList(ErpCommodityDto erpCommodity);

    /**
     * 新增商品管理
     *
     * @param erpCommodity 商品管理
     * @return 结果
     */
    int insertErpCommodity(ErpCommodityDto erpCommodity);

    /**
     * 修改商品管理
     *
     * @param erpCommodity 商品管理
     * @return 结果
     */
    int updateErpCommodity(ErpCommodityDto erpCommodity);

    /**
     * 批量删除商品管理
     *
     * @param commodityIds 需要删除的商品管理主键集合
     * @return 结果
     */
    int deleteErpCommodityByCommodityIds(Long[] commodityIds);

    /**
     * 删除商品管理信息
     *
     * @param commodityId 商品管理主键
     * @return 结果
     */
    int deleteErpCommodityByCommodityId(Long commodityId);


    /**
     * 导入用户数据
     *
     * @param userList        用户数据列表
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName        操作用户
     * @return 结果
     */
    String importErpCommodity(List<ErpCommodityVo> userList, Boolean isUpdateSupport, String operName);

    /**
     * @Author Shaw
     * @Description 供三才环科商城（小程序）展示
     * @date: 2025-04-02 14:31
     * @param: //TODO
     */
    List<ErpCommodityVo> selectMallCommodityList(ErpCommodity erpCommodity);
}
